import { Message } from 'element-ui';
/**
 * 获取一级分类列表
 * 
 * @param context 组件实例
 */
export const getCategoryData = async (context) => {
    const { data: res } = await context.$getCategoryData(context.route.params?.id)
    if (res.code !== '1') return Message.error(res.msg)
    return res.result
}

/**
 * 获取二级分类列表
 * 
 * @param context 组件实例
 */
export const getCategoryTwoData = async (context) => {
    const { data: res } = await context.$getCategoryTwoData(context.route.params?.id)
    if (res.code !== '1') return Message.error(res.msg)
    return res.result
}

/** 获取轮播图
 * 
 * @param distributionSite { '1' | '2' } 广告区域展示位置（投放位置 投放位置，1为首页，2为分类商品页） 默认是1
 */
export const getBannerData = async (context, distributionSite = 1) => {
    const { data: res } = await context.$getBanner(distributionSite)
    if (res.code !== '1') return Message.error(res.msg)
    return res.result
}

/**
 * @description: 获取导航数据
 * @param context 组件实例
 * @data { categoryId: 1005000 , page: 1, pageSize: 20, sortField: 'publishTime' | 'orderNum' | 'evaluateNum'
   } 
 * @return {*}
 */
export const getCategorySubData = async (context, data) => {
    const { data: res } = await context.$getCategorySubData(data)
    if (res.code !== '1') return Message.error(res.msg)
    return res.result
}

/**
 * 获取商品详情
 * 
 * @param context 组件实例
 */
export const getGoodsDetail = async (context) => {
    const { data: res } = await context.$getGoodsDetail(context.route.params?.id)
    if (res.code !== '1') return Message.error(res.msg)
    return res.result
}

/**
 * 获取热榜商品
 * @param context 组件实例
 * @param {Number} id - 商品id
 * @param {Number} type - 1代表24小时热销榜 2代表周热销榜
 * @param {Number} limit - 获取个数
 */
export const getHotListOf = async (context, id, type, limit) => {
    const { data: res } = await context.$getHotListOf(id, type, limit)
    if (res.code !== '1') return Message.error(res.msg)
    return res.result
}

/** 
 * 生成订单
 * @param context 组件实例
 */
export const createOrder = async (context) => {
    const { data: res } = await context.$createOrder()
    if (res.code !== '1') return Message.error(res.msg)
    return res.result
}

/**
 * 获取订单详情
 * 
 * @param context 组件实例
 * @param id 订单id
 */
export const getOrderDetail = async (context, id) => {
    const { data: res } = await context.$getOrderDetail(id)
    if (res.code !== '1') return Message.error(res.msg)
    return res.result
}

/**
 * 获取猜你喜欢
 * 
 * @param context 组件实例
 * @param  data 参数
 */
export const getGuessLike = async (context, data) => {
    const { data: res } = await context.$getLikeGoods(data)
    if (res.code !== '1') return Message.error(res.msg)
    return res.result
}

/** 
 * 获取订单列表
 * @param conetxt 组件实例
 * @param params 参数
 */
export const getOrderList = async (context, params) => {
    const { data: res } = await context.$getOrderList(params)
    if (res.code !== '1') return Message.error(res.msg)
    return res.result
}